Skip to content
[旅するAI bot] ハルシネーションを楽しむということ
旅するAIbot
note記述記事
2023-11-03

旅bot達は各地の写真とそこにあるものをそれとなく連れてきてくれます。
ガッチリした観光地よりも、どこにでもある街角の絵の香りが好きです。名所などの各地の違いが強く出ている絵より、今自分が散歩で見る風景と似たような風景を遠くの人がやはり同じように見ているというということ。
「ああ、これは90年代な商店街だな」「2000年代はこんな街並みが流行だったな」「どんな地区でも繁華街/ビル街/住宅街/畑/森林はこういう並びだな」とか、それは遠くにあるものを自分の側につれてくる感覚。
なので観光地写真(ランドマーク写真)の機能よりStreetView写真のほうで背景とキャラの影がきれいに合う写真がしっくりきています(こちらのほうが先に作って運用してますし)

https://twitter.com/marble_walker/status/1717378464138047733

大きめの都市の郊外感。広めの道路にごく普通のバス停があるような絵。基本住宅地だけど、学校も近くにある。普段のサイクリングとか気持ちよさそうです ( Twitterの全文はブログ側 https://akibakokoubou.jp/mi-runner/ にあります)

https://twitter.com/marble_walker/status/1719605271579005360

https://twitter.com/marble_walker_i/status/1716336402147987831

でも、たまに訳のわかんないことを言いますよね。。。

旅するAI botでのハルシネーション

ハルシネーション(生成AIが言う嘘)はAIをビジネスで使う分にはいろいろ困りごとになるので各社とも抑制に必死です。AIに論理整然に誤ったことや根拠のないことを仕事で力説されたら、大混乱になります。

ただ旅botに関しては、ハルシネーションが強く出た文ほど面白いと思ってます。

LLMに入力している情報はGoogle place API-Nearby Searchで取得された建物情報 (places[n].displayName,types)をmarkdown 表形式でLLMに与えてます。 
https://developers.google.com/maps/documentation/places/web-service/nearby-search?hl=ja 
ですので、建物名と概ねの属性(レストラン、役所、小売店など)以外の情報はすべてLLM側のハルシネーションです。
「右にある・・」「静けさが・・」「青い・・」「食べてみると・・」みたいな修飾表現はすべて学習モデル内の言語つながりでありそうな表現をつないだAIの創作です(観光地写真は今はLLaVAを使って画像解析しているのでこれらの修飾表現は画像からの認識です)

停泊地で作成する記事は3種類ある

旅するAI botと複数のLLM

旅botには複数のLLMを使っています。1回の停泊ごとにランダムですが同じLLMが連続しにくいようにはしています(連続禁止はしてない)。
文章のうまさは、やはり現時点ではChatGPT4が抜きん出ているのはX/Twitterの出力を見ても明らかです。

ただ沢山の出力をしていると「ChatGPT4でもいくつかの文章のパターンがあるよね」と思うことがあります。 temperature(揺れの強度)を最大にしてもプロンプトに地域毎の単語が入ろうとも、プロンプトの大枠が同じであればやはり作られる文に似通った部分が出てきます。それは人のレポートであっても数百も旅レポートを書けばどこか似たテンプレが出来てしまいます。

人のレポートでも寝起きで書いた文章と昼ご飯後に書いた文章と夕方に書いた文章は趣が変わるものです。なのでいくつかのLLMを混ぜて、多少変な文章がまぎれこんでもそれは個性と見て楽しんでよいかなと思ってます。
LLMが別ものになると文章はかなり異なりますし、ハルシネーションの癖もかなり変わります。それは文章のワンパターンを改善する効果があると考えます。
(注: LLMによってうまく解釈してくれるプロンプトはかなり変わりますので、各LLMによってプロンプトは違う部分があります。出力しやすい誤文章(LLMによっては文頭で「承知しました」と言いやすい)の削除など後付け加工をしている部分もあります。ベンチマークしている訳ではないので「よりらしい出力」が得られる事を優先しています)

現時点では個人的にはELYZA ( https://huggingface.co/elyza/ELYZA-japanese-Llama-2-7b-fast-instruct ) の出力が、文のらしさや安定性、ハルシネーションの程度などで全体的に好みです。
rinna ( https://huggingface.co/rinna/japanese-gpt-neox-3.6b-instruction-ppo ) は使っている中でもモデルの発表時期が早いためなのか、おとなしいが素直な読みやすい出力が多いです。
Stable-lm ( https://huggingface.co/stabilityai/japanese-stablelm-instruct-gamma-7b ) はやや理屈っぽい出力が多いのですが、時々大胆解釈な文を出してくることがあります。
これらと比べるとGPT4/3.5turboは解釈も文の作りも格段にうまいのですが何か無難な文を作っていると思えることがあります。おそらく倫理対策やハルシネーション対策が先進しているということなのでしょうが、ハルシネーションも含めて楽しんでいる私としてはちょっと物足りなさを感じることもあります。

AIハルシネーションを楽しむという時代は必ず来る

自分は旅botに情報の正確性は元々望んでいないので、突拍子もないハルシネーションを楽しんでいます。

自分が別途使っている個人的タスク完了の褒め言葉AI https://twitter.com/marker_mind もありますが、こちらも的外れな解釈と褒め言葉文を楽しんでいます。どちらかというとAIに再解釈させて別視点から指摘されると「ああ、そういうことも必要かな」とか考え漏れの備忘録になることもあります(大半は珍解釈を笑ってますがそれはそれで娯楽としてアリだと思います)

https://twitter.com/marker_mind/status/1719969080097276197

AIのハルシネーションは今は嫌われ者ですが、権利的な問題、法的問題、ソースの追跡、絶対許容できない線などが落とし所についた後は、ビジネスにおいても「美しいハルシネーション」「整合性の高いハルシネーション」をAIに望まれる時代が必ず来ると思っています。
それはAIがウィット/ジョークが上手い相棒になるということです。

更新モデルのハルシネーション吟味 (2023/11/11追記)

先週LLMモデルの追加/更新をしたので、旅botへの応用状態の追記です。
あくまで旅botとして使った場合の印象の話しで、LLM性能のベンチマークではないのでご注意ください。

cyberagent/calm2-7b-chat

多くの人が言ってるように、日本語が達者なモデルですね。安定なハルシネーションが多めで、豊かな日本語表現が出ます。サイゲームのシナリオテキストでも学習してるのでしょうかねぇ。

https://twitter.com/marble_walker/status/1722881257091240387

stabilityai/japanese-stablelm-instruct-ja_vocab-beta-7b

モデルの差し替えとともに、生成用プロンプトも更新しています。inputsを使わないといけないのかと少し無理矢理inputs項を使っていたのですが、他の方の記事を見る分にはinputsを使わなくても問題なさそうなので、素直な記述に整理しなおしました。
文章はかなり安定しました。ただ理屈っぽい出力が多いのは以前のモデルと同様です。たまに語り出すのも同様です。

https://twitter.com/marble_walker/status/1722831722285506796

gpt-4-1106-preview

今週頭のGPT更新も対応しています。function call周りが少し変わったあたりをまだきれいに対応できていないのですが、文章の達者さは以前のGPT4通りです。

https://twitter.com/marble_walker/status/1722849708861976911

gpt-3.5-turbo-1106

更新されたGPT3.5は、AIなりすまし対策強化なのか、見たように語るの依頼がたまに失敗するようになりました。。ただ文章の安定性は従来通りなので再生成リトライの強化などを入れる予定です。

https://twitter.com/marble_walker/status/1722102322745290896

(初出 note https://note.com/marble_walkers/n/ncb7788cbed74 )